# create by fanfan on 2020/3/27 0027
from keras.models import Sequential
from keras.layers import Dense,Activation

#你可以通过将网络层实例的列表传递给 Sequential 的构造器，来创建一个 Sequential 模型
model = Sequential([
    Dense(32,input_shape=(784,)),
    Activation('relu'),
    Dense(10),
    Activation('softmax')]
)

#也可以简单地使用 .add() 方法将各层添加到模型中：
mode = Sequential()
model.add(Dense(32,input_dim=784))
model.add(Activation('relu'))



#下面的代码片段是等价的：
model = Sequential()
model.add(Dense(32,input_shape=(784,)))

model = Sequential()
model.add(Dense(32,input_dim=784))

# 多分类问题
model.compile(optimizer='rmsprop',
              loss='categorical_crossentropy',
              metrics=['accuracy'])

# 二分类问题
model.compile(optimizer='rmsprop',
              loss='binary_crossentropy',
              metrics=['accuracy'])

# 均方误差回归问题
model.compile(optimizer='rmsprop',
              loss='mse')

# 自定义评估标准函数
import keras.backend as K
def mean_pred(y_true,y_pred):
    return K.mean(y_pred)
model.compile(optimizer='rmsprop',
              loss='binary_crossentropy',
              metrics=['accuracy',mean_pred])
